home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / graphics / gnuplot / gnuplot-3.7.1src / gnuplot-3.7.1 / setshow.h < prev    next >
C/C++ Source or Header  |  1999-11-29  |  8KB  |  256 lines

  1. /*
  2.  * $Id: s;
  3.  
  4. exter     wor998/10/03 20:17:47 lhecking Exp $
  5.  *
  6.  */
  7.  
  8. /* GNUPLOT - setshow.h */
  9.  
  10. /*[
  11.  * Copyright 1986 - 1993, 1998   Thomas Williams, Colin Kelley
  12.  *
  13.  * Permission to use, copy, and distribute this software and its
  14.  * documentation for any purpose with or without fee is hereby granted,
  15.  * provided that the above copyright notice appear in all copies and
  16.  * that both that copyright notice and this permission notice appear
  17.  * in supporting documentation.
  18.  *
  19.  * Permission to modify the software is granted, but not the right to
  20.  * distribute the complete modified source code.  Modifications are to
  21.  * be distributed as patches to the released version.  Permission to
  22.  * distribute binaries produced by compiling modified sources is granted,
  23.  * provided you
  24.  *   1. distribute the corresponding source modifications from the
  25.  *    released version in the form of a patch file along with the binaries,
  26.  *   2. add special version identification to distinguish your version
  27.  *    in addition to the base release version number,
  28.  *   3. provide your name and address as the primary contact for the
  29.  *    support of your modified version, and
  30.  *   4. retain our contact information in regard to use of the base
  31.  *    software.
  32.  * Permission to distribute the released version of the source code along
  33.  * with corresponding source modifications in the form of a patch file is
  34.  * granted with same provisions 2 through 4 for binary distributions.
  35.  *
  36.  * This software is provided "as is" without express or implied warranty
  37.  * to the extent permitted by applicable law.
  38. ]*/
  39.  
  40.  
  41. /* for show_version_long() */
  42. #ifdef HAVE_SYS_UTSNAME_H
  43. #include <sys/utsname.h>
  44. #endif
  45.  
  46. #ifndef DEFAULT_TIMESTAMP_FORMAT
  47. #define DEFAULT_TIMESTAMP_FORMAT "%a %b %d %H:%M:%S %Y" /* asctime() format */
  48. #endif
  49.  
  50. /*
  51.  * global variables to hold status of 'set' options
  52.  *
  53.  */
  54.  
  55. typedef struct {
  56.     char text[MAX_LINE_LEN+1];
  57.     double xoffset, yoffset;
  58.     char font[MAX_LINE_LEN+1];
  59. } label_struct;
  60.  
  61.  
  62. extern TBOOLEAN                 multiplot;
  63.  
  64. extern TBOOLEAN            autoscale_r;
  65. extern TBOOLEAN            autoscale_t;
  66. extern TBOOLEAN            autoscale_u;
  67. extern TBOOLEAN            autoscale_v;
  68. extern TBOOLEAN            autoscale_x;
  69. extern TBOOLEAN            autoscale_y;
  70. extern TBOOLEAN            autoscale_z;
  71. extern TBOOLEAN            autoscale_x2;
  72. extern TBOOLEAN            autoscale_y2;
  73. extern TBOOLEAN            autoscale_lt;
  74. extern TBOOLEAN            autoscale_lu;
  75. extern TBOOLEAN            autoscale_lv;
  76. extern TBOOLEAN            autoscale_lx;
  77. extern TBOOLEAN            autoscale_ly;
  78. extern TBOOLEAN            autoscale_lz;
  79. extern double            boxwidth;
  80. extern TBOOLEAN            clip_points;
  81. extern TBOOLEAN            clip_lines1;
  82. extern TBOOLEAN            clip_lines2;
  83. extern struct lp_style_type     border_lp;
  84. extern int            draw_border;
  85. #define SOUTH            1 /* 0th bit */
  86. #define WEST            2 /* 1th bit */
  87. #define NORTH            4 /* 2th bit */
  88. #define EAST            8 /* 3th bit */
  89. #define border_east        (draw_border & EAST)
  90. #define border_west        (draw_border & WEST)
  91. #define border_south        (draw_border & SOUTH)
  92. #define border_north        (draw_border & NORTH)
  93. extern TBOOLEAN            draw_surface;
  94. extern char            dummy_var[MAX_NUM_VAR][MAX_ID_LEN+1];
  95. extern char            default_font[]; /* Entry font added by DJL */
  96. extern char            xformat[];
  97. extern char            yformat[];
  98. extern char            zformat[];
  99. extern char            x2format[];
  100. extern char            y2format[];
  101. /* do these formats look like printf or time ? */
  102. extern int format_is_numeric[];
  103.  
  104. extern char            key_title[];
  105. extern enum PLOT_STYLE data_style, func_style;
  106. extern double bar_size;
  107. extern struct lp_style_type     work_grid, grid_lp, mgrid_lp;
  108. extern double     polar_grid_angle; /* angle step in polar grid in radians */
  109. extern int            key;
  110. extern struct position key_user_pos; /* user specified position for key */
  111. extern int             key_vpos, key_hpos, key_just;
  112. extern double       key_swidth, key_vert_factor; /* user specified vertical spacing multiplier */
  113. extern double                   key_width_fix; /* user specified additional (+/-) width of key titles */
  114. extern TBOOLEAN            key_reverse;  /* key back to front */
  115. extern struct lp_style_type     key_box;  /* linetype round box < -2 = none */
  116. extern TBOOLEAN            is_log_x, is_log_y, is_log_z;
  117. extern double            base_log_x, base_log_y, base_log_z;
  118.                 /* base, for computing pow(base,x) */
  119. extern double            log_base_log_x, log_base_log_y, log_base_log_z;
  120.                 /* log of base, for computing logbase(base,x) */
  121. extern TBOOLEAN            is_log_x2, is_log_y2;
  122. extern double            base_log_x2, base_log_y2;
  123.                 /* base, for computing pow(base,x) */
  124. extern double            log_base_log_x2, log_base_log_y2;
  125.                 /* log of base, for computing logbase(base,x) */
  126. extern char            *outstr;
  127. extern TBOOLEAN            parametric;
  128. extern double            pointsize;
  129. extern TBOOLEAN            polar;
  130. extern TBOOLEAN            hidden3d;
  131. extern int            angles_format;
  132. extern double            ang2rad; /* 1 or pi/180 */
  133. extern int            mapping3d;
  134. extern int            samples;
  135. extern int            samples_1;
  136. extern int            samples_2;
  137. extern int            iso_samples_1;
  138. extern int            iso_samples_2;
  139. extern float            xsize; /* scale factor for size */
  140. extern float                    xoffset;
  141. extern float                    yoffset;
  142. extern float            ysize; /* scale factor for size */
  143. extern float            zsize; /* scale factor for size */
  144. extern float            aspect_ratio; /* 1.0 for square */
  145. extern float            surface_rot_z;
  146. extern float            surface_rot_x;
  147. extern float            surface_scale;
  148. extern float            surface_zscale;
  149. extern char            term_options[];
  150.  
  151. extern label_struct title, timelabel;
  152. extern label_struct xlabel, ylabel, zlabel;
  153. extern label_struct x2label, y2label;
  154.  
  155. extern int            timelabel_rotate;
  156. extern int            timelabel_bottom;
  157. extern char            timefmt[];
  158. extern int             datatype[];
  159. extern int            range_flags[];
  160. extern double            rmin, rmax;
  161. extern double            tmin, tmax, umin, umax, vmin, vmax;
  162. extern double            xmin, xmax, ymin, ymax, zmin, zmax;
  163. extern double            x2min, x2max, y2min, y2max;
  164. extern double            loff, roff, toff, boff;
  165. extern int            draw_contour;
  166. extern TBOOLEAN      label_contours;
  167. extern char            contour_format[];
  168. extern int            contour_pts;
  169. extern int            contour_kind;
  170. extern int            contour_order;
  171. extern int            contour_levels;
  172. extern double            zero; /* zero threshold, not 0! */
  173. extern int            levels_kind;
  174. extern double        levels_list[MAX_DISCRETE_LEVELS];
  175.  
  176. extern int            dgrid3d_row_fineness;
  177. extern int            dgrid3d_col_fineness;
  178. extern int            dgrid3d_norm_value;
  179. extern TBOOLEAN            dgrid3d;
  180.  
  181. #define ENCODING_DEFAULT    0
  182. #define ENCODING_ISO_8859_1    1
  183. #define ENCODING_CP_437        2
  184. #define ENCODING_CP_850        3   /* JFi */
  185.  
  186. extern int            encoding;
  187. extern char            *encoding_names[];
  188.  
  189. /* -3 for no axis, or linetype */
  190. extern struct lp_style_type xzeroaxis;
  191. extern struct lp_style_type yzeroaxis;
  192. extern struct lp_style_type x2zeroaxis;
  193. extern struct lp_style_type y2zeroaxis;
  194.  
  195. extern int xtics;
  196. extern int ytics;
  197. extern int ztics;
  198. extern int mxtics;
  199. extern int mytics;
  200. extern int mztics;
  201. extern int x2tics;
  202. extern int y2tics;
  203. extern int mx2tics;
  204. extern int my2tics;
  205. extern double mxtfreq;
  206. extern double mytfreq;
  207. extern double mztfreq;
  208. extern double mx2tfreq;
  209. extern double my2tfreq;
  210. extern TBOOLEAN rotate_xtics;
  211. extern TBOOLEAN rotate_ytics;
  212. extern TBOOLEAN rotate_ztics;
  213. extern TBOOLEAN rotate_x2tics;
  214. extern TBOOLEAN rotate_y2tics;
  215.  
  216. extern float ticslevel;
  217. extern double ticscale; /* scale factor for tic marks (was (0..1])*/
  218. extern double miniticscale; /* and for minitics */
  219.  
  220. extern struct ticdef xticdef;
  221. extern struct ticdef yticdef;
  222. extern struct ticdef zticdef;
  223. extern struct ticdef x2ticdef;
  224. extern struct ticdef y2ticdef;
  225.  
  226. extern TBOOLEAN            tic_in;
  227.  
  228. extern struct text_label *first_label;
  229. extern struct arrow_def *first_arrow;
  230. extern struct linestyle_def *first_linestyle;
  231.  
  232. extern int lmargin, bmargin,rmargin,tmargin; /* plot border in characters */
  233.  
  234. extern char cur_locale[MAX_ID_LEN+1];
  235.  
  236. extern char full_month_names[12][32];
  237. extern char abbrev_month_names[12][8];
  238.  
  239. extern char full_day_names[7][32];
  240. extern char abbrev_day_names[7][8];
  241.  
  242. /* The set and show commands, in setshow.c */
  243. void set_command __PROTO((void));
  244. void reset_command __PROTO((void));
  245. void show_command __PROTO((void));
  246. /* and some accessible support functions */
  247. enum PLOT_STYLE get_style __PROTO((void));
  248. TBOOLEAN load_range __PROTO((int axis, double *a, double *b, int autosc));
  249. void show_version __PROTO((FILE *fp));
  250. void show_version_long __PROTO((void));
  251. char * conv_text __PROTO((char *s, char *t));
  252. void lp_use_properties __PROTO((struct lp_style_type *lp, int tag, int pointflag ));
  253.  
  254. /* string representing missing values, ascii datafiles */
  255. extern char *missing_val;
  256.